/******************************************************************************
 * @File name   :      ICommonQueryService.java
 *
 * @Author      :      guyifeng
 *
 * @Date        :      2011-6-27
 *
 * @Copyright Notice: 
 * Copyright (c) 2014 DMS, Inc. All  Rights Reserved.
 * This software is published under the terms of the DMS Software
 * License version 1.0, a copy of which has been included with this
 * distribution in the LICENSE.txt file.
 * 
 * 
 * ----------------------------------------------------------------------------
 * Date                   Who         Version        Comments
 * 2011-6-27 上午10:37:50        guyifeng     1.0            Initial Version
 *****************************************************************************/
package com.cap.bts.framework.common.service;

import java.util.List;

import com.cap.bts.framework.common.dto.ApprovalUserGrpAppResultDto;
import com.cap.bts.framework.common.dto.EmployeeDetailDto;
import com.cap.bts.framework.common.exception.AppException;
import com.cap.bts.framework.common.util.Pager;
import com.cap.bts.framework.usermgnt.domain.Organization;
import com.cap.bts.framework.usermgnt.domain.Role;
import com.cap.bts.framework.usermgnt.domain.User;

/**
 * Common Query Service Interface
 */
public interface ICommonQueryService extends IBaseService {
	
    
    /**
     * 查询角色
     * @Date        :      2011-6-20
     * @param dto
     * @return
     */
    public List<Role> getRoleWithPager(int roleType,Pager pager) throws AppException;  
    
    /**
     * 查询组织
     * @Date        :      2011-6-20
     * @param dto
     * @return
     */
    public List<Organization> getOrganizationWithPager(Integer[] orgTypes, Pager pager) throws AppException;  
      
    
    /**
     * 得到EmployeeDetailDto通过条件
     * @Date        :      2011-6-30
     * @param employeedetaildto EmployeeDetailDto
     * @param user User
     * @return EmployeeDetailDto
     * @throws AppException
     */
    public EmployeeDetailDto getEmployeeDetailOrgAndUserGroupAndRole(EmployeeDetailDto employeedetaildto, User user) throws AppException;
    
    
    /**
     * 查询EmployeeDetail，根据userCode
     * @Date        :      2011-12-7
     * @param userCode
     * @return
     * @throws AppException
     */
    public ApprovalUserGrpAppResultDto getApproveRuleListByEmployeeCode(String employeeCode)throws AppException;
    	
   

}
